package com.cip.client.modelo.peticionInformacion;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.jdo.annotations.Extension;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.cip.client.modelo.BaseRecord;

/**
 * @author Angel
 * 
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class PeticionInformacionRecord extends BaseRecord implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6640373977496580343L;

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
	private String id;

	@Persistent
	private String nif;

	@Persistent
	private String nombre;

	@Persistent
	private String apellidos;

	@Persistent
	private String sexo;

	@Persistent
	private Date fechaNacimiento;

	@Persistent
	private String horaLlamadaPreferida;

	@Persistent
	private Long numCupon;

	@Persistent
	private String origenConsulta;

	@Persistent
	private Date fechaEntrada;

	@Persistent
	private String enviadoA;

	@Persistent
	private String temaRelacionado;
	
	@Persistent
	private DatosComunicacionPeticionInformacionRecord datosComunicacion = new DatosComunicacionPeticionInformacionRecord();

	@Persistent
	private DatosLocalizacionPeticionInformacionRecord datosLocalizacion = new DatosLocalizacionPeticionInformacionRecord();

	@Persistent
	private List<ObservacionesPeticionInformacionRecord> observaciones = new ArrayList<ObservacionesPeticionInformacionRecord>();

	
	public PeticionInformacionRecord() {

	}

	@Override
	public void copia(BaseRecord record) {
		setNif(((PeticionInformacionRecord) record).getNif());
		setNombre(((PeticionInformacionRecord) record).getNombre());
		setApellidos(((PeticionInformacionRecord) record).getApellidos());
		setSexo(((PeticionInformacionRecord) record).getSexo());
		setFechaNacimiento(((PeticionInformacionRecord) record).getFechaNacimiento());
		setDatosComunicacion(((PeticionInformacionRecord) record).getDatosComunicacion());
		setDatosLocalizacion(((PeticionInformacionRecord) record).getDatosLocalizacion());
		setObservaciones(((PeticionInformacionRecord) record).getObservaciones());
		setHoraLlamadaPreferida(((PeticionInformacionRecord) record).getHoraLlamadaPreferida());
		setNumCupon(((PeticionInformacionRecord) record).getNumCupon());
		setOrigenConsulta(((PeticionInformacionRecord) record).getOrigenConsulta());
		setFechaEntrada(((PeticionInformacionRecord) record).getFechaEntrada());
		setEnviadoA(((PeticionInformacionRecord) record).getEnviadoA());
		setTemaRelacionado(((PeticionInformacionRecord) record).getTemaRelacionado());
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getId() {
		return id;
	}

	public String getNif() {
		return nif;
	}

	public void setNif(String nif) {
		this.nif = nif;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellidos() {
		return apellidos;
	}

	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}

	public String getSexo() {
		return sexo;
	}

	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	public Date getFechaNacimiento() {
		return fechaNacimiento;
	}

	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	public String getHoraLlamadaPreferida() {
		return horaLlamadaPreferida;
	}

	public void setHoraLlamadaPreferida(String horaLlamadaPreferida) {
		this.horaLlamadaPreferida = horaLlamadaPreferida;
	}

	public Long getNumCupon() {
		return numCupon;
	}

	public void setNumCupon(Long numCupon) {
		this.numCupon = numCupon;
	}

	public String getOrigenConsulta() {
		return origenConsulta;
	}

	public void setOrigenConsulta(String origenConsulta) {
		this.origenConsulta = origenConsulta;
	}

	public Date getFechaEntrada() {
		return fechaEntrada;
	}

	public void setFechaEntrada(Date fechaEntrada) {
		this.fechaEntrada = fechaEntrada;
	}

	public String getEnviadoA() {
		return enviadoA;
	}

	public void setEnviadoA(String enviadoA) {
		this.enviadoA = enviadoA;
	}

	public String getTemaRelacionado() {
		return temaRelacionado;
	}

	public void setTemaRelacionado(String temaRelacionado) {
		this.temaRelacionado = temaRelacionado;
	}

	public void setDatosComunicacion(DatosComunicacionPeticionInformacionRecord datosComunicacion) {
		this.datosComunicacion = datosComunicacion;
	}

	public DatosComunicacionPeticionInformacionRecord getDatosComunicacion() {
		return datosComunicacion;
	}

	public void setDatosLocalizacion(DatosLocalizacionPeticionInformacionRecord datosLocalizacion) {
		this.datosLocalizacion = datosLocalizacion;
	}

	public DatosLocalizacionPeticionInformacionRecord getDatosLocalizacion() {
		return datosLocalizacion;
	}

	public void setObservaciones(List<ObservacionesPeticionInformacionRecord> observaciones) {
		this.observaciones = observaciones;
	}

	public List<ObservacionesPeticionInformacionRecord> getObservaciones() {
		return observaciones;
	}

}
